﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Biblioteca.Utils;
using SERIX.Util;

namespace SERIX
{
    public partial class QuestionariosManut : Seguranca
    {

        string _operacao;
        string _idt_qst = "";
        string _idt_prop_mestre = "";
        string _idt_benef_mestre = "";
        string _idt_vinc_prop_mestre = "";
        string _seq_vinc_mestre = "";
        string _filtro = "";
        string _origem = "";
        string _idt_benef = "";
        string _idt_prop = "";

        private void lovSelecao(string chave, string descricao)
        {
            tbIDT_TIQ.Text = descricao;
            tbIDT_TIQ.Attributes.Add("chave", chave);
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            base.OnLoad(e);
            lovTipoQuestionario.Selecao += new SERIX.Controles.lovGenerica.SelecaoDelegate(lovSelecao);
            lovTipoQuestionario.ConfigurarLov("Serix", "srx_tipos_questionarios", "IDT_TIQ", "DSC_TIQ", "DSC_TIQ", "Pesquisa de Tipos de Fichas Cadastrais", "Descrição");
            
            _operacao = Request["OP"];
            if (!String.IsNullOrEmpty(Request["idt_qst"]))
            {
                _idt_qst = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_qst"]));
            }
            if (!String.IsNullOrEmpty(Request["origem"]))
            {
                _origem = Request["origem"];
            }
            if (!String.IsNullOrEmpty(Request["idt_benef"]) && !String.IsNullOrEmpty(Request["idt_prop"]))
            {
                _idt_benef = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_benef"]));
                _idt_prop = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_prop"]));
                _filtro = "?idt_benef=" + Server.UrlEncode(Request["idt_benef"]) + "&idt_prop=" + Server.UrlEncode(Request["idt_prop"]);
            }
            if (!String.IsNullOrEmpty(Request["idt_prop_mestre"]) && !String.IsNullOrEmpty(Request["idt_benef_mestre"]) &&
                !String.IsNullOrEmpty(Request["idt_vinc_prop_mestre"]) && !String.IsNullOrEmpty(Request["seq_vinc_mestre"]))
            {
                _idt_prop_mestre = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_prop_mestre"]));
                _idt_benef_mestre = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_benef_mestre"]));
                _idt_vinc_prop_mestre = Server.UrlDecode(Criptografia.Descriptografar(Request["idt_vinc_prop_mestre"]));
                _seq_vinc_mestre = Server.UrlDecode(Criptografia.Descriptografar(Request["seq_vinc_mestre"]));
                _filtro = "?idt_prop=" + Server.UrlEncode(Request["idt_prop_mestre"]) +
                          "&idt_benef=" + Server.UrlEncode(Request["idt_benef_mestre"]) +
                          "&idt_vinc_prop=" + Server.UrlEncode(Request["idt_vinc_prop_mestre"]) +
                          "&seq_vinc=" + Server.UrlEncode(Request["seq_vinc_mestre"]);

            }
            if (!Page.IsPostBack)
            {
                switch (_operacao)
                {
                    case "R":
                        {
                            lblTitulo.Text = "Detalhes do Questionarios";
                            Cancelar_Button.Visible = false;
                            CQuestionarios questionarios = CQuestionarios.PesquisaporCodigo(_idt_qst, UsuAut.Login);
                            CTiposQuestionarios tipo = CTiposQuestionarios.PesquisaporCodigo(questionarios.Idt_tiq, UsuAut.Login);
                            tbIDT_TIQ.Text = tipo.Dsc_tiq;
                            tbDAT_QST.Text = questionarios.Dat_qst;
                            DesabilitaControles();
                            break;
                        }
                    case "U":
                        {
                            lblTitulo.Text = "Alteração de Questionarios";
                            CQuestionarios questionarios = CQuestionarios.PesquisaporCodigo(_idt_qst, UsuAut.Login);
                            CTiposQuestionarios tipo = CTiposQuestionarios.PesquisaporCodigo(questionarios.Idt_tiq, UsuAut.Login);
                            tbIDT_TIQ.Text = tipo.Dsc_tiq;
                            tbDAT_QST.Text = questionarios.Dat_qst;
                            break;

                        }
                    case "I":
                        {
                            lblTitulo.Text = "Insersão de Questionarios";
                            break;
                        }
                    case "D":
                        {
                            lblTitulo.Text = "Exclusão de Questionarios";
                            CQuestionarios questionarios = CQuestionarios.PesquisaporCodigo(_idt_qst, UsuAut.Login);
                            CTiposQuestionarios tipo = CTiposQuestionarios.PesquisaporCodigo(questionarios.Idt_tiq, UsuAut.Login);
                            tbIDT_TIQ.Text = tipo.Dsc_tiq;
                            tbDAT_QST.Text = questionarios.Dat_qst;
                            DesabilitaControles();
                            break;
                        }
                    default: break;
                }
            }
        }

        protected void DesabilitaControles()
        {
            ((Button)lovTipoQuestionario.FindControl("btnLov")).Enabled = false;
            tbIDT_TIQ.Enabled = false;
            tbIDT_TIQ.BorderStyle = System.Web.UI.WebControls.BorderStyle.None;
            tbIDT_TIQ.BackColor = System.Drawing.Color.WhiteSmoke;
            tbDAT_QST.Enabled = false;
            tbDAT_QST.BorderStyle = System.Web.UI.WebControls.BorderStyle.None;
            tbDAT_QST.BackColor = System.Drawing.Color.WhiteSmoke;
        }

        protected void Ok_Button_Click(object sender, EventArgs e)
        {
            try
            {
                
                CQuestionarios questionarios;
                if (String.IsNullOrEmpty(_idt_qst) && _operacao[0].Equals('I'))
                {
                    _idt_qst = CQuestionarios.ObterNovoIdt(UsuAut.Login).ToString();
                }
                questionarios = new CQuestionarios(_idt_qst, _idt_prop_mestre, _idt_benef_mestre, _idt_vinc_prop_mestre, _seq_vinc_mestre, tbIDT_TIQ.Attributes["chave"], tbDAT_QST.Text);
                switch (_operacao)
                {
                    case "I":
                        {
                            questionarios.Inserir(UsuAut.Login);
                            break;
                        }
                    case "U":
                        {
                            questionarios.Alterar(UsuAut.Login);
                            break;
                        }
                    case "D":
                        {
                            questionarios.Excluir(UsuAut.Login);
                            break;
                        }
                    default: break;
                }
                if (_origem == "S")
                {
                    Response.Redirect("SelecionarQuestionario.aspx" + _filtro);
                }
                else
                {
                    Response.Redirect("Questionarios.aspx" + _filtro);
                }
            }
            catch (Exception ex)
            {
                lblErro.Text = "*Erro: " + ex.Message;
                lblErro.Visible = true;
            }
        }

        protected void Cancelar_Button_Click(object sender, EventArgs e)
        {
            if (_origem == "S")
            {
                Response.Redirect("SelecionarQuestionario.aspx" + _filtro);
            }
            else
            {
                Response.Redirect("Questionarios.aspx" + _filtro);
            }
        }
    }
     
}
